package com.zfy.tingshu.album.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zfy.tingshu.model.album.TrackInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zfy.tingshu.query.album.TrackInfoQuery;
import com.zfy.tingshu.vo.album.AlbumTrackListVo;
import com.zfy.tingshu.vo.album.TrackInfoVo;
import com.zfy.tingshu.vo.album.TrackListVo;

public interface TrackInfoService extends IService<TrackInfo> {

    void findUserTrackPage(Page<TrackListVo> trackInfoPage);

    /**
     * 保存声音
     * @param trackInfoVo
     * @param userId
     */
    void saveTrackInfo(TrackInfoVo trackInfoVo, Long userId);

    /**
     * 分页查询声音列表
     * @param trackListVoPage
     * @param trackInfoQuery
     * @return
     */

    /**
     * 删除声音
     * @param trackId
     */
    void removeTrackInfo(Long trackId);

    /**
     * 修改声音
     * @param trackId
     * @param trackInfoVo
     */
    void updateTrackInfo(Long trackId, TrackInfoVo trackInfoVo);

    void findAlbumTrackPage(Page<AlbumTrackListVo> albumTrackListVoPage, Long albumId, Long userId);

    void updateStat(Long albumId, Long trackId, String statType, Integer count);
}
